home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple Reference & Presen…rary 5 (Internal Edition)
/
Apple R&P Lib Internal v5.0.iso
/
5-Fonts & Software
/
Applications
/
Aldus PageMaker 3.02
/
Aldus Prep
< prev
next >
Wrap
Text File
|
1989-05-01
|
27KB
|
1,153 lines
% 209 26 AldusVersion/AldRevision: This record must be first!!
% Copyright (C) 1987 Aldus Corporation. All rights reserved.
/AldusDict2 300 dict def
AldusDict2
begin
/AldusVersion 209 def
/AldusRev 26 def
systemdict /currentpacking known
{/AD_OldPacking currentpacking def
true setpacking
} if
/AD_PrevMatrix matrix def
/AD_SomethingOnPage false def
/AD_OutlineWidth 30 def
/AD_ShadOffset 0.06 def
/AD_OLShadOffset 0.06 def
/AD_OLSmearFact 0.03 def
/AD_BoldSmearFact 0.03 def
/AD_ObliqueAngle -0.21 def
/AD_TrueSetscreen /setscreen load def
/AD_NestedMirror false def
/BEGJOB
{ /AD_Invert exch def
dup AD_NestedMirror xor /AD_NestedMirror exch def
/AD_MirrorFlag exch def
/AD_WideFlag exch def
/paperwid exch def
/paperht exch def
/AD_Resolution 1440 def
/AD_PointsToUCS AD_Resolution 72 div def
/AD_EvenRound 72 72 matrix defaultmatrix dtransform pop abs 750 gt def
AD_PrevMatrix currentmatrix pop
/AD_PrevScreen [currentscreen] def
/AD_PrevTransfer currenttransfer def
/AD_StdScreen true def
/STD_SCREEN
{
AD_StdScreen not
{
AD_PrevScreen cvx exec setscreen
/AD_PrevTransfer load settransfer
/AD_StdScreen true assign
}if
} def
true _SetCoordSys
version (23.) anchorsearch
{
pop pop
/truesetgray /setgray load def
/setgray
{
mark
AD_Invert
{.0 .0 .06 .1 .28 .48 .56 .68 .82 .9 .98 1.0 }
{1.0 1.0 .98 .9 .82 .68 .56 .48 .28 .1 .06 .0 }
ifelse
counttomark dup 3 add -1 roll exch
2 sub mul dup floor cvi
dup 3 1 roll sub
exch dup
3 add index exch 2 add index dup
4 1 roll
sub mul add
counttomark 1 add 1 roll
cleartomark
truesetgray
} def
}
{ pop }
ifelse
/screenAdjust 1 0 dtransform exch atan def
/mirrorScreen AD_NestedMirror {/neg load} {{}} ifelse def
/setscreen {exch screenAdjust add mirrorScreen exch AD_TrueSetscreen} def
} def
/_SetCoordSys
{
/AD_OldSys exch def
AD_WideFlag
{ AD_OldSys
{
90 rotate
1 AD_PointsToUCS div dup neg scale
}
{
1 AD_PointsToUCS div dup neg scale
paperht paperwid neg translate
90 rotate
}
ifelse
}
{ 1 AD_PointsToUCS div dup neg scale
0 paperht neg translate
}
ifelse
AD_MirrorFlag
{ paperwid 0 translate
-1 1 scale
}
if
/AD_DeviceScale
1 1 transform pop 0 0 transform pop sub abs
def
} bind def
/SETRES
{
/AD_Resolution exch def
/AD_PointsToUCS AD_Resolution 72 div def
AD_PrevMatrix setmatrix
false _SetCoordSys
} bind def
/BEGPAGE
{ /AD_SomethingOnPage false def
} bind def
/ENDPAGE
{ AD_SomethingOnPage
{ save
showpage
restore
} if
} def
/ENDJOB
{ AD_PrevMatrix setmatrix
} bind def
/S_IMAGEMASK
{ /here save def
/h exch def /w exch def
/dh exch def /dw exch def
/y0 exch def /x0 exch def
/sx w dw div def
/sy h dh div def
/imbuf w 7 add 8 idiv string def
0 setgray
x0 y0 translate w h true [sx 0 0 sy 0 0]
{currentfile imbuf readhexstring pop} imagemask
here restore
/AD_SomethingOnPage true def
} bind def
/S_IMAGE
{ /here save def
/bits exch def
/h exch def /w exch def
/dh exch def /dw exch def
/y0 exch def /x0 exch def
/sx w dw div def
/sy h dh div def
/imbuf w bits mul 7 add 8 idiv string def
x0 y0 translate w h bits [sx 0 0 sy 0 0]
{currentfile imbuf readhexstring pop} image
here restore
/AD_SomethingOnPage true def
} bind def
/S_PSCRIPT
{ /AD_SomethingOnPage true def
} bind def
/S_TEXTSEGBEG
{ /here save def
/TX_RunDrawn false def
newpath
} bind def
/S_TEXTSEGEND
{ TX_RunDrawn
{ here restore
/AD_SomethingOnPage true def }
{ here restore } ifelse
} bind def
/S_WORKING
{
/AD_WorkingMemory exch def
} bind def
/S_LOADFONT
{
AldusDict2 /AD_TopOfFonts known exch
{ { AD_TopOfFonts restore } if }
{ not { save /AD_TopOfFonts exch def } if }
ifelse
} bind def
/SURSTR
{
AD_SomethingOnPage SUsv restore
} bind def
/SUSAVE
{
AldusDict2 /AD_TopOfFonts known
vmstatus exch sub exch pop AD_WorkingMemory lt
{ dup { AD_TopOfFonts restore } if } if
not
{ save /AD_TopOfFonts exch def } if
save /SUsv exch def /AD_SomethingOnPage exch def
} bind def
/_ftName 66 string def
/_AutoRecode
{
/recode exch def
_ftName cvs
dup length 7 gt
{ dup 0 7 getinterval (|______) eq
{ dup length 7 exch 7 sub getinterval
recode { FTRECODE } { FTRENAME } ifelse
}
{ pop }
ifelse
}
{ pop } ifelse
} bind def
/SHADOWFLAG 16#1 def
/OUTLINEFLAG 16#2 def
/BOLDSMEAR 16#4 def
/OUTLINESMEAR 16#8 def
/ReENCODED 16#10 def
/BOLDPSBUMP 16#20 def
/ITALICOBLIQUE 16#40 def
/SET
{
/AD_textcolor exch def
/AD_fontbits exch def
/AD_20EMS exch def
1 index FontDirectory exch known not
{ 1 index ReENCODED AD_fontbits _iand _AutoRecode } if
BOLDPSBUMP AD_fontbits _iand
{ 1 add } if
dup _ActivateFont
ITALICOBLIQUE AD_fontbits _iand
{ _ActivateObliqueFont
} if
/AD_EmNotMatch AD_20EMS 20 div (M) _ADStringWidth pop sub abs 1 gt def
} bind def
/S_SETUPRUN /SET load def
/OUT
{ /here save def
/runwidth exch def
/nspaces exch def
/nchars exch def
/textrun exch def
/letterspace exch def
/wordspace exch def
/y1 exch def /x1 exch def
nchars 0 gt
{
AD_textcolor setgray
/letterspace
AD_EmNotMatch
{
runwidth
textrun _ADStringWidth pop
nchars dup 1 gt {1 sub} if
letterspace mul add
nspaces wordspace mul add
sub
nchars dup 1 gt {1 sub} if
div
}
{
0 } ifelse
letterspace add def
SHADOWFLAG AD_fontbits _iand
{ save
OUTLINEFLAG AD_fontbits _iand
{ _OLShadowOffset
}
{ _ShadowScreen
AD_textcolor _ShadowColor
_ShadowOffset
} ifelse
OUTLINEFLAG AD_fontbits _iand
OUTLINESMEAR AD_fontbits _iand not and
{ _ActivateSolidFont
} if
_ShowRun
BOLDSMEAR AD_fontbits _iand
{ _BoldSmearOffset _ShowRun
} if
restore
} if
OUTLINEFLAG AD_fontbits _iand
OUTLINESMEAR AD_fontbits _iand and
{ _OLSmearRun
}
{ OUTLINEFLAG AD_fontbits _iand
{ save
_ActivateSolidFont
1 AD_textcolor sub setgray
_ShowRun
restore
} if
_ShowRun
BOLDSMEAR AD_fontbits _iand
{ _BoldSmearOffset _ShowRun
} if
} ifelse
} if
here restore
/AD_SomethingOnPage true def
} bind def
/S_OUTPUTRUN /OUT load def
/_ADStringWidth
{
gsave closepath clip stringwidth grestore
} bind def
/_OLSmearRun
{
gsave _OLSmearOffset translate _ShowRun grestore
gsave _OLSmearOffset exch neg exch translate _ShowRun grestore
gsave _OLSmearOffset exch translate _ShowRun grestore
gsave _OLSmearOffset exch neg translate _ShowRun grestore
gsave 1.0 AD_textcolor sub setgray _ShowRun grestore
} bind def
/_ShowRun
{
x1 y1 moveto
wordspace 0 8#040 letterspace 0 textrun awidthshow
} bind def
/S_UNDERLINE
{ /here save def
/color exch def
/pointsize exch def
/width exch def
/deltay exch def
/baseline exch def
/rightx exch def
/leftx exch def
currentfont /FontInfo known
{
currentfont /FontInfo get
/UnderlinePosition known
{ /deltay
currentfont /FontInfo get
/UnderlinePosition get
currentfont /FontMatrix get 3 get mul
pointsize AD_fontscale AD_PointsToUCS
div div mul def
} if
currentfont /FontInfo get
/UnderlineThickness known
{ /width
currentfont /FontInfo get
/UnderlineThickness get
currentfont /FontMatrix get 3 get abs mul
pointsize AD_fontscale AD_PointsToUCS
div div mul def
} if
} if
/underliney
0 baseline deltay add transform
round exch round exch itransform exch pop def
color setgray
width setlinewidth
SHADOWFLAG AD_fontbits _iand
{ save
OUTLINEFLAG AD_fontbits _iand
{ _OLShadowOffset
}
{ _ShadowScreen
color _ShadowColor
_ShadowOffset
} ifelse
leftx underliney rightx underliney _ShowUnderline
restore
} if
leftx underliney rightx underliney _ShowUnderline
OUTLINEFLAG AD_fontbits _iand
OUTLINESMEAR AD_fontbits _iand not and
{
save
1 color sub setgray
/AD_OutlineWidth
AD_OutlineWidth 1000 div AD_fontscale mul def
width 3 AD_OutlineWidth mul ge
{ width 2 AD_OutlineWidth mul sub }
{ width 3 div } ifelse
setlinewidth
leftx AD_OutlineWidth add underliney
rightx AD_OutlineWidth sub underliney _ShowUnderline
restore
} if
here restore
/AD_SomethingOnPage true def
} bind def
/_ShowUnderline
{
newpath moveto lineto stroke
} bind def
/S_STRIKETHRU
{ /here save def
/color exch def
/y exch def
/rightx exch def
/leftx exch def
/y 0 y transform
round exch round exch itransform exch pop def
color setgray
_StrikeThruWidth setlinewidth
newpath
leftx y moveto
rightx y lineto stroke
here restore
/AD_SomethingOnPage true def
} bind def
/DV_DRAW_TEXT
{ /here save def
/text exch def
/y exch def
/x exch def
Black setgray
(Helvetica-Bold) FTRECODE
/|______Helvetica-Bold 9 dup _ActivateFont
x y moveto
text show
here restore
/AD_SomethingOnPage true def
} bind def
/DV_DRAW_BOX
{ /here save def
/draftflag exch def
/shadowflag exch def
/y2 exch def /x2 exch def
/y1 exch def /x1 exch def
AD_PointsToUCS 2 div setlinewidth
newpath
x1 y1 moveto
x1 y2 lineto
x2 y2 lineto
x2 y1 lineto closepath
shadowflag
{ gsave STD_SCREEN 0.5 setgray fill grestore}
{ gsave
1.0 setgray fill
grestore
0.0 setgray stroke } ifelse
draftflag
{ x1 y1 moveto
x2 y2 lineto stroke
x2 y1 moveto
x1 y2 lineto stroke } if
here restore
/AD_SomethingOnPage true def
} bind def
/DV_DRAW_LINE
{ /here save def
/lw exch def
/y2 exch def /x2 exch def
/y1 exch def /x1 exch def
x1 y1 transform
round exch round exch itransform /y1 exch def /x1 exch def
x2 y2 transform
round exch round exch itransform /y2 exch def /x2 exch def
0 lw transform
round exch round exch itransform /lw exch def pop
lw setlinewidth
Black setgray
newpath
x1 y1 moveto
x2 y2 lineto stroke
here restore
/AD_SomethingOnPage true def
} bind def
/DV_DRAW_CIRCLE
{ /here save def
/lw exch def
/r exch def
/y exch def /x exch def
x y transform
round exch round exch itransform /y exch def /x exch def
0 r transform
round exch round exch itransform /r exch def pop
0 lw transform
round exch round exch itransform /lw exch def pop
lw setlinewidth
Black setgray
newpath
x y r 0 360 arc stroke
here restore
/AD_SomethingOnPage true def
} bind def
/_ActivateFont
{
/AD_fontscale exch AD_PointsToUCS mul def
/AD_fontscaleX exch AD_PointsToUCS mul def
/AD_fontname exch def
AD_fontname findfont
[ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ] makefont
setfont
} bind def
/_ActivateObliqueFont
{
AD_fontname findfont
[ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ]
[ 1 0
AD_ObliqueAngle
1 0 0 ] matrix concatmatrix makefont setfont
} bind def
/_ActivateSolidFont
{
AD_solidfont
AD_fontscaleX AD_PointsToUCS div
AD_fontscale AD_PointsToUCS div _ActivateFont
} bind def
/_ShadowOffset
{
AD_ShadOffset AD_fontscaleX mul AD_ShadOffset AD_fontscale mul translate
} bind def
/_OLShadowOffset
{
AD_OLShadOffset AD_fontscaleX mul AD_OLShadOffset AD_fontscale mul translate
} bind def
/_ShadowScreen
{
100 AD_PrevScreen 1 get AD_PrevScreen 2 get setscreen
} bind def
/_ShadowColor
{
0.6 mul 0.8 exch sub setgray
} bind def
/_OLSmearOffset
{
AD_OLSmearFact AD_fontscaleX mul AD_OLSmearFact AD_fontscale mul
} bind def
/_BoldSmearOffset
{
AD_BoldSmearFact AD_fontscaleX mul AD_BoldSmearFact AD_fontscale mul translate
} bind def
/_StrikeThruWidth
{
AD_fontscale 16 div
} bind def
/_iand
{ and 0 ne
} bind def
/bdef { bind def } bind def
/FTRENAME {
dup (|______) exch ftMakeName cvn /NewName local
FontDirectory NewName known
{pop}
{cvn findfont dup
maxlength dict false copyDict
dup /FontName known
{dup /FontName NewName put} if
NewName exch definefont pop
} ifelse
} bdef
/FTRECODE {
dup (|______) exch ftMakeName cvn /NewName local
FontDirectory NewName known
{pop}
{cvn findfont dup
maxlength dict false copyDict
dup /FontName known
{dup /FontName NewName put} if
dup /Encoding MacEncoding put
NewName exch definefont pop
} ifelse
} bdef
/AD_encode_vector_size 256 def
/AD_encode_vector null def
/AD_doing_recoding false def
/BEG_RECODE
{
dup (|______) exch ftMakeName cvn /NewName local
FontDirectory NewName known
{
pop
/AD_doing_recoding false def
/AD_encode_vector null def
}
{cvn findfont dup
maxlength dict false copyDict
dup /FontName known
{dup /FontName NewName put} if
/AD_encode_vector AD_encode_vector_size array def
dup begin Encoding AD_encode_vector copy pop end
dup /Encoding AD_encode_vector put
NewName exch definefont pop
/AD_doing_recoding true def
AD_encode_vector
dup
} ifelse
} bdef
/ENCODE_CHAR
{
AD_doing_recoding
{
put
dup
}
{
pop
pop
} ifelse
} bdef
/END_RECODE
{
AD_doing_recoding
{
pop
pop
} if
/AD_doing_recoding false def
/AD_encode_vector null def
} bdef
/FTOUTLINE {
ReENCODED FTOLINE
} bdef
/FTOLINE {
/AD_fontbits exch def
cvn /OlineName local
dup /AD_solidfont exch def
AD_solidfont FontDirectory exch known not
{ AD_solidfont ReENCODED AD_fontbits _iand _AutoRecode } if
FontDirectory OlineName known
{pop}
{cvn findfont dup
maxlength 2 add dict true copyDict
dup /FontName known
{dup /FontName OlineName put} if
dup /PaintType 2 put
dup /StrokeWidth AD_OutlineWidth put
OlineName exch definefont pop
} ifelse
} bdef
/AD_nameString1 66 string def
/ftMakeName {
1 index length /PrefixLen local
dup length PrefixLen add AD_nameString1 exch 0 exch getinterval
dup PrefixLen 4 -1 roll putinterval
dup 0 4 -1 roll putinterval
} bdef
/copyDict {
/NoUnique local
/NewFont local
{exch dup /FID ne
NoUnique
{1 index /UniqueID ne and} if
{exch NewFont 3 1 roll put}
{pop pop} ifelse
} forall
NewFont
} bdef
/MacEncoding 256 array def
MacEncoding 0
/Times-Roman findfont /Encoding get
0 128 getinterval
putinterval
MacEncoding 16#27 /quotesingle put
MacEncoding 16#60 /grave put
/Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute
/agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave
/ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute
/ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis
/dagger /degree /cent /sterling /section /bullet /paragraph /germandbls
/registersans /copyrightsans /trademarksans /acute /dieresis /notequal /AE /Oslash
/infinity /plusminus /lessequal /greaterequal /yen /mu /partialdiff /summation
/product /pi /integral /ordfeminine /ordmasculine /Omega /ae /oslash
/questiondown /exclamdown /logicalnot /radical /florin /approxequal /Delta /guillemotleft
/guillemotright /ellipsis /space /Agrave /Atilde /Otilde /OE /oe
/endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /divide /lozenge
/ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl
/daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute
/Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex
/apple /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde
/macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
MacEncoding 128 128 getinterval astore pop
/getAnInt{2 getinterval dup 0 get 16#100 mul exch 1 get add cvi}def
/CharBitStr 30 string def
/BuildCharDict 16 dict def
/AFONT
{
gsave
/FName local
/BMFSize local
1 add /LastChar local
/FirstChar local
/DefChar LastChar FirstChar sub 2 mul def
20 dict dup
begin
10 1 roll
/LocTableLen local
/OWTableLen local
/BMRowLen local
/PixelHeight local
/FontWidth local
/MaxWidth local
/MaxKern local
/Descent local
/Ascent local
/Bits BMRowLen PixelHeight mul string currentfile exch readhexstring pop def
/LocTable LocTableLen string currentfile exch readhexstring pop def
/OWTable OWTableLen string currentfile exch readhexstring pop def
/FontType 3 def
/FontMatrix matrix def
/FontBBox[MaxKern Descent neg MaxWidth MaxKern add Ascent]def
/Encoding 256 array def
Encoding 0 MacEncoding 0 256 getinterval putinterval
/Mummble 257 array def
0 1 256{Mummble exch DefChar put}for
FirstChar 1 LastChar{Mummble exch dup FirstChar sub 2 mul put}for
/BuildChar
{
BuildCharDict
begin
/1Char local
/FDict local
FDict /Mummble get 1Char get /2Char local
FDict /OWTable get 2Char getAnInt 16#FFFF eq
{/2Char DefChar assign}if
FDict /LocTable get 2Char getAnInt
/BitLoc local
FDict /LocTable get 2Char 2 add getAnInt
BitLoc sub
/BitWidth local
BitLoc 8 mod /ShiftVal local
16#FF 8 ShiftVal sub
dup neg /RemShift local
bitshift 16#FF and /BMask local
16#FF 8 BitLoc BitWidth add 8 mod
sub dup 8 ge{pop 0}if
BitWidth 0 eq{pop 8}if
bitshift /AMask local
BitWidth ShiftVal add 7 add 8 idiv
dup 0 eq{pop 1}if
/ByteWidth local
BitLoc 8 idiv
/WhichRow local
FDict /OWTable get 2Char get cvi /Offset local
FDict /OWTable get 2Char 1 add get cvi /Charwidth local
Charwidth 0 BMFSize divPoint
FDict /MaxKern get FDict /Descent get neg BMFSize divPoint
BitWidth Offset add FDict /MaxKern get add FDict /Ascent get BMFSize divPoint
setcachedevice
gsave
ByteWidth 8 mul
FDict /PixelHeight get
true
[FDict /PixelHeight get FDict /Descent get sub 1 add
0
0
FDict /PixelHeight get FDict /Descent get sub 1 add neg
Offset neg 0.5 add
FDict /PixelHeight get FDict /Descent get sub 0.5 add]
{
FDict /Bits get WhichRow
ByteWidth getinterval
CharBitStr copy /ThisRow local
16#100
ByteWidth 1 sub 1 neg 0
{ /iV local
ThisRow iV get
1 index 16#100 eq{AMask and}if
dup BMask and RemShift bitshift
3 1 roll ShiftVal bitshift
add 16#FF and
cvi ThisRow iV 3 -1 roll put
}for
pop ThisRow
/WhichRow WhichRow FDict /BMRowLen get add assign
} imagemask
grestore
end
}def
end
FontDirectory FName cvn known
{pop}
{FName cvn exch definefont pop} ifelse
grestore
}def
/const /def load def
/var /def load def
/local[/exch load /def load]cvx def
/assign /def load def
/incr{dup cvx exec 1 add assign}bdef
/postIncr{dup cvx exec exch incr}bdef
/SpaceChar 16#20 const
/cvPA{2 array astore cvx}bdef
/point{cvPA def}bdef
/locPoint{3 1 roll point}bdef
/pointXpoint{3 -1 roll mul 3 1 roll mul exch}bdef
/pointDpoint{3 -1 roll exch div 3 1 roll div exch}bdef
/setPoint{load astore pop}bdef
/dupPoint{2 copy}bdef
/addPoint{exch 4 -1 roll add 3 1 roll add}bdef
/subPoint{exch 3 1 roll sub 3 1 roll sub exch}bdef
/mulPoint{dup pointXpoint}bdef
/divPoint{dup pointDpoint}bdef
/exchPoint{4 2 roll}bdef
/overPoint{3 index 3 index}bdef
/anyStatD systemdict /statusdict known const
/thisProduct anyStatD
{statusdict /product known{statusdict /product get}{()}ifelse}
{()}ifelse const
/PerCentChg 1.0 -1.0 point
/boxPath{/y2 local /x2 local /y1 local /x1 local
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
closepath}bdef
/dump{4{pop}repeat}bdef
/rBoxPath{/r local /y2 local /x2 local
/y1 local /x1 local
x1 r add y1 moveto x2 y1 x2 y2 r arcto dump
x2 y2 x1 y2 r arcto dump x1 y2 x1 y1 r arcto dump
x1 y1 x2 y1 r arcto dump closepath}bdef
/SaveMatrix matrix var
/ButtCap 0 const
/SquareCap 2 const
/MiterJoin 0 const
/BevelJoin 2 const
/Black 0 const
/White 1 const
/Wide 0 const
/Narrow 1 const
/PictPostScript false var
/isHairline false var
/PBEGIN{
dup not {save /PSave exch def} if
/isLBO exch def
/PBotRight locPoint
/PTopLeft locPoint
isLBO not {newpath PTopLeft PBotRight boxPath clip} if newpath
isLBO {ButtCap}{SquareCap} ifelse setlinecap
MiterJoin setlinejoin
3 setmiterlimit
AD_PointsToUCS setlinewidth
/deviceRound
{
dup
AD_DeviceScale mul round AD_DeviceScale div
dup 0 eq { pop } { exch pop } ifelse
} def
/HairWidth
AD_PointsToUCS 4 div
AD_DeviceScale mul deviceRound dup 1.5 lt
{ pop 0 } if
const
Black setgray
/LineScale 1 var
/LineWidth AD_PointsToUCS var
/LineHeight AD_PointsToUCS var
/DoingWedge false var
/DoingArc false var
AldusDict2 /PatternShade known not
{
/psb {} bdef
/pse {} bdef
/PatternShade Black var
/DeclaredPattern <00> var
/PCurPat <01> var
} if
}bdef
/PEND{
newpath
isLBO not {PSave restore} if
/AD_SomethingOnPage true def
}bdef
/SetPattern {
dup /PatternShade exch def setgray
} bdef
/bitison{
/ybit local /xbit local
PCurPat ybit PatWidth mul
xbit 8 idiv add get
1 7 xbit 8 mod AD_NestedMirror {exch pop}{sub} ifelse bitshift
and 0 ne}bdef
/PSHADE{
STD_SCREEN
100 div dup /PatternShade exch def setgray
<01> /PCurPat local
} def
/BK { Black setgray } bdef
/WT { White setgray } bdef
/PBLACK /BK load def
/PWHITE /WT load def
/PUSETHISPATTERN {
dup PCurPat eq {pop}{ PPATTERN } ifelse
PatternShade setgray
/VerifyUsedPattern false def
} bdef
/PUSEPATTERN {
VerifyUsedPattern
{DeclaredPattern PCurPat ne {DeclaredPattern PPATTERN} if
} if
PatternShade setgray
/VerifyUsedPattern false def
} bdef
/PDECLAREPATTERN {
/DeclaredPattern exch def
/VerifyUsedPattern true def
} bdef
/PatWidth 1 const
/PatSide 8 const
/PFreq 300 32 div const
/PPATTERN{/PCurPat local
/VerifyUsedPattern false def
0 /Onbits local 0 /Offbits local
AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse
PFreq PerCentChg pop dup 0.96 eq
{pop}{div}ifelse
0
{
1 1 addPoint 2 divPoint PatSide mulPoint
cvi exch cvi exch bitison AD_Invert xor
{/Onbits incr 1}
{/Offbits incr 0}ifelse
}
setscreen
Offbits dup Onbits add div AD_Invert {1 exch sub} if SetPattern
/AD_StdScreen false assign}def
/vertLines{pop dup mul -2 mul 1 add}bdef
/sPat
{
AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse
setscreen setgray
}def
/PALDUSSHADE
{
<11> /PCurPat local
/AD_StdScreen false assign
Wide eq
{ 0.774 20 45 {vertLines} sPat }
{ 0.643 30 45 {vertLines} sPat }
ifelse
} bdef
/PHAIRWIDTH
{
HairWidth setlinewidth /isHairline true def
} bdef
/LW {
LineScale mul deviceRound /LineHeight exch def
LineScale mul deviceRound dup /LineWidth exch def
setlinewidth
/isHairline false def
}bdef
/PLNWIDTH /LW load def
/PLNSCALE{div /LineScale exch def} bdef
/roundCoord
{
0.5 add round 0.5 sub
} bdef
/roundPoint
{
transform
AD_EvenRound
{ 2 div round 2 mul exch 2 div round 2 mul exch }
{ round exch round exch }
ifelse
itransform
} bdef
/adjWidth {
currentlinewidth dup
1 AD_DeviceScale div gt { deviceRound 2 div } { pop .5 AD_DeviceScale div } ifelse
} bdef
/pULAdj{ roundPoint adjWidth dup addPoint }bdef
/pLRAdj{ roundPoint adjWidth dup subPoint }bdef
/PLINETO
{
PictPostScript
{ moveto lineto }
{
/y2 exch def /x2 exch def /y1 exch def /x1 exch def
currentlinecap ButtCap setlinecap
newpath
x1 x2 eq y1 y2 eq and
{
LineWidth 1 le LineHeight 1 le and
{ x1 y1 moveto }
{ x1 y1
x1 LineWidth add y1 LineHeight add
boxPath fill}
ifelse
}
{ y1 y2 eq
{
LineWidth x1 x2 lt
{ x2 add /x2 exch def }
{ x1 add /x1 exch def }
ifelse
LineHeight setlinewidth
x1 y1 LineHeight 2 div add roundPoint moveto
x2 y2 LineHeight 2 div add roundPoint lineto
mayStroke
}
{ x1 x2 eq
{
LineHeight y1 y2 lt
{ y2 add /y2 exch def }
{ y1 add /y1 exch def }
ifelse
x1 LineWidth 2 div add y1 roundPoint moveto
x2 LineWidth 2 div add y2 roundPoint lineto
mayStroke
}
{
x1 y1 pULAdj moveto x2 y2 pULAdj lineto mayStroke
}
ifelse
}
ifelse
}
ifelse
setlinecap
}
ifelse
}bdef
/HairRect
{
save /here exch def
/y2 exch def /x2 exch def
/y1 exch def /x1 exch def
PHAIRWIDTH newpath
x1 x2 sub abs y1 y2 sub abs lt
{ x1 x2 add 2 div dup y1 roundPoint moveto y2 roundPoint lineto stroke}
{ y1 y2 add 2 div dup x1 exch roundPoint moveto x2 exch roundPoint lineto stroke}
ifelse
here restore
} bdef
/PHAIRLINE
{
count 4 gt
{
newpath PHAIRWIDTH
addPoint 2 divPoint roundPoint moveto
addPoint 2 divPoint roundPoint lineto pop pop
stroke
}
{ HairRect }
ifelse
} bdef
/PHANGLINE
{
roundPoint /yb exch def /xr exch def
roundPoint /yt exch def /xl exch def
deviceRound /delta exch def
{ {yt delta sub /yt exch def} {yb delta add /yb exch def} ifelse }
{ {xl delta sub /xl exch def} {xr delta add /xr exch def} ifelse }
ifelse
newpath
1 AD_DeviceScale div 2 div dup dupPoint
xl yt addPoint exchPoint
xr yb exchPoint subPoint boxPath fill
} bdef
/PRECT{newpath pLRAdj exchPoint pULAdj exchPoint boxPath}bdef
/PRRECT { pLRAdj /Botts locPoint pULAdj /Tops locPoint
currentlinewidth dup subPoint /Diams locPoint
newpath SaveMatrix currentmatrix pop
Botts Tops subPoint /Sides locPoint
Sides pop abs Diams pop ge{Diams}{Sides}ifelse pop
Sides exch pop abs Diams exch pop ge{Diams}{Sides}ifelse exch pop
/Diams locPoint
Diams 2 div /YRad local
0 gt{Diams
div}{1}ifelse 1 /PRRscale locPoint
Tops translate PRRscale scale 0 0 Sides PRRscale pointDpoint
Diams 0 gt exch 0 gt and{YRad rBoxPath}{boxPath}ifelse
SaveMatrix setmatrix}bdef
/POVAL{newpath SaveMatrix currentmatrix pop
0 359 false pArc closepath
SaveMatrix setmatrix}bdef
/PARC{ newpath SaveMatrix currentmatrix pop
/DoingArc true assign
false pArc
SaveMatrix setmatrix }bdef
/PWEDGE{newpath SaveMatrix currentmatrix pop
/DoingWedge true assign
true pArc closepath
SaveMatrix setmatrix }bdef
/modAdj{
dup 360 gt{360 sub}if
dup 0 lt{360 add}if}bdef
/pArc{/Fill local
/ArcAng local /BegAng local
pLRAdj /PLR locPoint
pULAdj /PUL locPoint
360 BegAng ArcAng add sub 90 add modAdj /StartAng local
StartAng ArcAng add /EndAng local
PLR PUL subPoint 2 divPoint /Rad locPoint
PUL Rad addPoint translate
Rad neg scale
Fill{0 0 moveto}if
0 0 1 StartAng EndAng
dupPoint eq
{pop pop 0 359 arc closepath}
{ArcAng 0 lt
{arcn}{arc}ifelse
}
ifelse
}bdef
/PBEGPOLY{
newpath pULAdj moveto
}bdef
/PPOLYPOINT {
pULAdj lineto
} bdef
/PENDPOLY{
/Closed local
Closed{closepath}if
}bdef
/PBEGRGN{mark}bdef
/PREGION{PRECT cleartomark}bdef
/PTXBEG {/PTSave1 save const} bdef
/PROTATE {
currentdict /PRotateSave known not
{save /PRotateSave exch def} if
3 1 roll dupPoint neg exch neg exch 5 2 roll
translate rotate translate
} bdef
/PHFLIP {
currentdict /PRotateSave known not
{save /PRotateSave exch def} if
dupPoint neg exch neg exch 4 2 roll
translate -1 1 scale translate
} bdef
/PVFLIP {
currentdict /PRotateSave known not
{save /PRotateSave exch def} if
dupPoint neg exch neg exch 4 2 roll
translate 1 -1 scale translate
} bdef
/PROTATE_END
{
PRotateSave restore
} bdef
/PSCALETEXT {
AD_PointsToUCS mul div /Xscale exch def
AD_PointsToUCS mul div /Yscale exch def
currentfont [ Xscale 0 0 Yscale 0 0 ] makefont setfont
/AD_fontscaleX AD_fontscaleX Xscale mul def
/AD_fontscale AD_fontscale Yscale mul def
} bdef
/PSTBEG {
userdict /md known not
{ userdict begin /md 0 def end } if
PBLACK /PictPostScript true def
} bdef
/PSTEND {
/PictPostScript false def
} bdef
/mayStroke{
currentlinewidth 0 gt isHairline or
{
gsave
DoingWedge {MiterJoin setlinejoin} if
currentlinewidth 1 AD_DeviceScale div sub setlinewidth
stroke
grestore
} if
/DoingWedge false assign
} bdef
/PFRAME{mayStroke}bdef
/PPAINT{mayStroke eofill}bdef
/PERASE{mayStroke eofill}bdef
/PFILL {mayStroke gsave eofill grestore}bdef
systemdict /currentpacking known
{AD_OldPacking setpacking} if
/AldusDone AldusVersion def
end